﻿/*
 * Created by SharpDevelop.
 * User: William
 * Date: 30/10/2011
 * Time: 01:22 p.m.
 * 
 */
using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;

namespace Principal
{
    /// <summary>
    /// Description of ControlPanel.
    /// </summary>
    public partial class ControlPanel : Form
    {
        private DatabaseManager _db;
        private enum TipoDataGrid {TipoAtencion, Beneficiario, Situaciones, StatusOrganizacion, Documentos, Usuarios, Paises};
        
        
        public ControlPanel()
        {
            InitializeComponent();
        }
        
        void CargaInicial(object sender, EventArgs e)
        {
            /* Cargamos la info de los datagrids */
            CargarInformacion(TipoDataGrid.TipoAtencion);
        }
        
        private bool CargarInformacion(TipoDataGrid tipo)
        {
        	try
        	{
	            this._db = DatabaseManager.Instance;
	            switch (tipo)
	            {
	            	case TipoDataGrid.TipoAtencion:
	                    dgwTipoAtencion.DataSource = this._db.TipoAtencion.Load();
	                    dgwTipoAtencion.Columns["IdTipoAtencion"].Visible = false;
			            dgwTipoAtencion.Columns["Nombre"].Width = 200;
			            dgwTipoAtencion.Columns["Descripcion"].Width = 335;
			            break;
	            	case TipoDataGrid.Beneficiario:
	            	case TipoDataGrid.Situaciones:
	            	case TipoDataGrid.StatusOrganizacion:
	            	case TipoDataGrid.Documentos:
	            	case TipoDataGrid.Usuarios:
	            	case TipoDataGrid.Paises:
			        default:
			            break;
	            }
        		
        	}
        	catch (Exception ex)
        	{
        		lblStatus.Text = ex.Message;
        	}
        	return true;
        }
        
        void btNuevoTipoAt_Click(object sender, EventArgs e)
        {
            AgregarTipoAtencion nuevo = new AgregarTipoAtencion();
            nuevo.ShowDialog(this);
            
        }
        void BtReloadClick(object sender, EventArgs e)
        {
            CargarInformacion(TipoDataGrid.TipoAtencion);
        }
        
        void BtBorrarTipoAtClick(object sender, EventArgs e)
        {
            if (dgwTipoAtencion.SelectedCells.Count > 0)
            {
                int id = Convert.ToInt32(dgwTipoAtencion.SelectedCells[0].OwningRow.Cells["IdTipoAtencion"].Value);
                DialogResult resp = MessageBox.Show("Realmente desea Borrar esta fila?", "Advertencia", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
                if (resp == DialogResult.Yes)
                {
                    BorrarConfirmado(id);
                }
            }
        }
        private void BorrarConfirmado(int id)
        {
            try
            {
                this._db.TipoAtencion.Delete(id);
                CargarInformacion(TipoDataGrid.TipoAtencion);
            }
            catch
            {
                lblStatus.Text = "Ha surgido un Error tratando de Borrar esta fila.";
            }
        }
        
        void GetsFocused(object sender, EventArgs e)
        {
            switch (tabControl1.SelectedTab.Name)
            {
                case "tabAtencion":
                    CargarInformacion(TipoDataGrid.TipoAtencion);
                    break;
                default:
                    break;
            }
        }
        
        void UpdateTAClick(object sender, EventArgs e)
        {
            
        }
        
        void BtSalirClick(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
